package com.gwctv.controller.user;

import com.gwctv.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @RestController 作用1：将此程序标识为controller层，用于接收请求并发送响应
 * 作用2：底层封装的@ResponseBody注解可以响应给前端的数据转为json格式
 * 作用3：控制反转（将ShopController类的java-bean交给spring中IOC容器管理，并指定ShopController类的bean名称为adminShopController）
 * @slf4j 作用是将日志输出到控制台
 * @RequestMapping 可以将公共请求路径写在其中
 */
@RestController("userShopController")
@Slf4j
@RequestMapping("/user/shop")
public class ShopController {
    //定义常量
    public static final String KEY = "SHOP_STATUS";

    /**
     * @autowired 自动注入redisTemplate对象
     */
    @Autowired
    private RedisTemplate redisTemplate;

    /**
     * 用户端获取店铺的营业状态
     * @return
     */
    @GetMapping("/status")
    public Result<Integer> getStatus() {
        //从redis中获取状态值
        Integer status = (Integer) redisTemplate.opsForValue().get(KEY);
        log.info("获取店铺的营业状态为：{}", status == 1 ? "营业中" : "打烊中");
        return Result.success(status);
    }
}
